function allReadyEdit() {
    //路径：/NG3Resource/js/JncjCommon.js
    //curForm.on('dataready', function () { }20210508移至edit状态下
    //1.基础函数

    //2.获取表头字段对象

    var bill_no = curForm.getItem('bill_no');    //项目编码
    var title = curForm.getItem('title');    //项目名称
    var bill_dt = curForm.getItem('bill_dt');    //日期
    var remarks = curForm.getItem('remarks');    //备注
    var ocode = curForm.getItem('ocode');    //组织
    var cycleid = curForm.getItem('cycleid');    //工作周期
    var year = curForm.getItem('year');    //年份
    var month = curForm.getItem('month');    //月份
    var oname = curForm.getItem('oname');    //组织名称
    var grhj = curForm.getItem('grhj');    //个人合计
    var dwhj = curForm.getItem('dwhj');    //单位合计

    var ny = curForm.getItem('ny');    //年月
    var sl = curForm.getItem('sl');    //总人数


    //3.通用设置及全状态change事件

    //（1）设置某通用帮助只能选择，不能手工收入
    ocode.setEditable(false);//只能选择，不能手工输入

    curForm.on('dataready', function () {  //加载完成后执行

        //5 *********************新增及编辑状态****************************
        if (otype == 'add' || otype == 'edit' || otype == 'copy') {


            //5.2 --------------获取数据后立即执行的设置--------------------
            //(1)只读属性
            ocode.userSetReadOnly(true); //只读属性
            bill_dt.userSetReadOnly(false);//只读属性


            //5.3------------------添加按钮,并添加监听事件--------------------------
            curToolbar.insert(3, {
                itemId: "myBtn",
                text: "从工资表提取数据",
                width: this.itemWidth,
                iconCls: "iconfont iconset"
            });
            curToolbar.insert(5, {
                itemId: "myBtn2",
                text: "execl表导入后完善其他信息",
                width: this.itemWidth,
                iconCls: "iconfont iconset"
            });

            //5.3.1按钮1单击事件
            curToolbar.get('myBtn').on('click', function (params) {
                var ocode_v = ocode.getValue();
                var year_v = year.getValue();
                var month_v = month.getValue();
                if (!year_v || !month_v) {
                    NG.alert("请先选择正确的核算期！")
                } else {
                    curStore.removeAll()//先清空
                    NG.callServerAsyn('引用工资表', {"ocode": ocode_v, "year": year_v, "month": month_v}, function (resp) {  //异步执行，计算结果通过参数resp获取
                        curStore.insert(curStore.getCount(), resp.record);
                    }, '正在从工资表中提取数据，请稍后...');
                }
            })

            //5.3.2按钮2单击事件
            curToolbar.get('myBtn2').on('click', function (params) {
                var a = curStore.data.items;
                var year_v = year.getValue();
                var month_v = month.getValue();
                if (!year_v || !month_v) {
                    NG.alert("请先选择正确的核算期！")
                } else if (a.length > 0) {
                    var k = 0;
                    for (var i = 0; i < a.length; i++) {
                        var ly_v = a[i].data.ly;
                        var sl_v = a[i].data.sl;
                        var empid_v = a[i].data.empid;
                        if (ly_v != '1' && sl_v != 1) {
                            var res = NG.callServer('根据员工empid获取相关信息', {
                                'year': year_v,
                                'month': month_v,
                                'empid': empid_v
                            });
                            a[i].set('yglx',res.record[0].yglx)
                            a[i].set('yglx_name',res.record[0].yglx_name)
                            a[i].data.deptid = res.record[0].deptid
                            a[i].data.deptid_name = res.record[0].deptid_name
                            a[i].data.pc = res.record[0].pc
                            a[i].data.pc_name = res.record[0].pc_name
                            a[i].data.xingzheng = res.record[0].xingzheng
                            a[i].data.xingzheng_name = res.record[0].xingzheng_name
                            a[i].data.xz_fr = res.record[0].xz_fr
                            a[i].data.xz_fr_name = res.record[0].xz_fr_name
                            a[i].data.shebao = res.record[0].shebao
                            a[i].data.shebao_name = res.record[0].shebao_name
                            a[i].data.sb_fr = res.record[0].sb_fr
                            a[i].data.sb_fr_name = res.record[0].sb_fr_name

                            a[i].data.wbs_code = res.record[0].wbs_code
                            a[i].data.cbs_id = res.record[0].cbs_id

                            NG.setValue('sl', 1);//触发求和至表头
                            a[i].data.ly = '2'//来源

                            //更改写法如下：
                            // NG.setValue('yglx', res.record[0].yglx);//触发求和至表头
                            // NG.setValue('yglx_name', res.record[0].yglx_name);//触发求和至表头
                            // NG.setValue('deptid', res.record[0].deptid);//触发求和至表头
                            // NG.setValue('deptid_name', res.record[0].deptid_name);//触发求和至表头
                            // NG.setValue('pc', res.record[0].pc);//触发求和至表头
                            // NG.setValue('pc_name', res.record[0].pc_name);//触发求和至表头
                            // NG.setValue('xingzheng', res.record[0].xingzheng);//触发求和至表头
                            // NG.setValue('xingzheng_name', res.record[0].xingzheng_name);//触发求和至表头
                            // NG.setValue('xz_fr', res.record[0].xz_fr_name);//触发求和至表头
                            // NG.setValue('xz_fr_name', res.record[0].deptid);//触发求和至表头
                            // NG.setValue('shebao', res.record[0].shebao);//触发求和至表头
                            // NG.setValue('shebao_name', res.record[0].shebao_name);//触发求和至表头
                            // NG.setValue('sb_fr', res.record[0].sb_fr);//触发求和至表头
                            // NG.setValue('sb_fr_name', res.record[0].sb_fr_name);//触发求和至表头
                            // NG.setValue('wbs_code', res.record[0].wbs_code);//触发求和至表头
                            // NG.setValue('cbs_id', res.record[0].cbs_id);//触发求和至表头/*  */
                            // NG.setValue('deptid', res.record[0].deptid);//触发求和至表头

                            // NG.setValue('sl', 1);
                            // NG.setValue('ly', '2');
                            k++;
                        }

                    }

                    NG._getGrid().getView().refresh(); //刷新一次，不触发update事件。
                    if (k == 0) {
                        NG.alert("无满足条件的记录")
                    } else {
                        NG.alert("共" + k + "条满足条件的记录，已全部计算完毕！")
                    }
                } else {
                    NG.alert("表体尚未导入数据！")
                }

            })

            //5.4-------------------表头监听-------------------------------------
            //(1)【组织】
            ocode.on('helpselected', function () {
                oname.setValue(NG.execServer('zz01_get_ocode_And_otherinf_by_phid', {'phid': ocode.getValue()}, 'oname'));
            })

            //(4)【工作周期】监听
            cycleid.on('helpselected', function (params) {
                var res = NG.execServer('tjzq02_get_year_month_ny_by_tjzqPhid', {'phid': cycleid.getValue()})
                NG.setValue('year', res.data[0].year);
                NG.setValue('month', res.data[0].month);
                NG.setValue('ny', res.data[0].ny);  //需执行触发事件，故用包装的函数
            });

            //5.5 -------------------表体监听---------------------------------------

            //求和至表头
            NG.setSumToMaster('grhj', 'grhj');
            NG.setSumToMaster('dwhj', 'amt');
            NG.setSumToMaster('sl', 'sl'); //总人数

            //（2） 【成本归集项目】当手工添加时，会触发资源选择的选择事件。NG._getGrid()
            curGrid.getColumn('pc_name').getEditor().on('helpselected', function (record) {
                var curRow = NG._getGrid().getSelectionModel().getSelection()[0];
                if (curRow) {
                    NG.addSelectBySql("根据项目pcid获取wbscbs", {"pcid": curRow.get("pc")})
                }
            });


        }
        ;

        //6 ***************新增状态***********************************
        if (otype == 'add' || otype == 'copy') {
            //6.1 ----------------生成标题---------------------------
            NG.bindMasterExp('title', "{oname}+{year}+'年'+{month}+'月社会保险明细表'")

            ocode.fireEvent('helpselected') //执行一次组织选择
            var tjzq_phid = NG.execServer('tjzq01_get_tjzqPhid_by_ny', {'ny': NG.dateFormat(NG.getValue('bill_dt'), 'YYYYmm')}, 'phid');
            NG.setValue('cycleid', tjzq_phid);
        }


        //7 ******************编辑及查看状态（非新增）************************************
        if (otype == 'edit' || otype == 'view') {
            ocode.userSetReadOnly(true); //设为只读

        }

        //9.封装函数
        //（1）根据组织及用途类别更新仓库
        function funName() {

        }
    });
}

//10 单据事件。注意对象需要重新获取。


// //(4)编辑界面取消审核前检测
// function beforeUnVerifyEdit() {
//     var meid = busid;
//     var sl = NG.callServer('是否已归集', { 'meid': meid }, 'isgj');
//     if (sl == 0) {
//         return true;
//     } else {
//         NG.alert("该表单已归集成本，请先取消归集！")
//         return false;
//     }
// };


// //（5）列表界面取消审核前检测
// function beforeUnVerifyList() {
//     var meid = NG._getGrid().getSelectionModel().getSelection()[0].data.phid
//     var sl = NG.callServer('是否已归集', { 'meid': meid }, 'isgj');
//     if (sl == 0) {
//         return true;
//     } else {
//         NG.alert("该表单已归集成本，请先取消归集！")
//         return false;
//     }
// }

//***********************************************/


//（7）编辑审核更新事件
function getSaveDataEdit(type) {  //列表内

    //3.1
    if (type == 'Verify' || type == 'Approve') {
        // return {
        //     funcname: '核准更新事件',
        //     paramstr: [{ 'bill_no': NG.getValue('bill_no') }]
        //     paramstr: [{ 'phid': busid }]

        // }
    } else if (type == 'UnVerify') {   //Save  Verify  UnVerify

    }
}

//（8）列表审核更新事件
function getSaveDataList(type) {

    if (type == 'Verify') {  // Verify  UnVerify  Delete
        // return {
        //     funcname: '核准更新事件',
        //     paramstr: [{ 'bill_no': NG._getGrid().getSelectionModel().getSelection()[0].data.bill_no }]
        //     paramstr: [{ 'phid': NG._getGrid().getSelectionModel().getSelection()[0].data.phid }]
        // };
    }
}


//11 单据列表操作
function allReadyList() {
    //curToolbar.get("copy").disable();  //获取列表界面工具栏，设置不可用 // add,edit,delete,view,refresh,copy,attachment附件，verify，print,close
    //NG.addDefaultQueryEx("month", -3);  //默认查询日期为最近的3个月
    NG.addDefaultQueryEx("year", -1);  //默认查询日期为最近1年月
}

